The present invention relates to network communication systems. It finds particular application in conjunction with controlling admission of voice calls to a packet-based network, and efficiently selecting paths for admitted calls so as to balance the traffic load within the network. However, it is to be appreciated that the present invention is also amenable to other like applications such as video or real-time data, provided that they manifest in the form of “calls”, where a need exists to improve the quality of service of data transfer over a packet network.
The internet, intranets, and other internet protocol (IP) networks are handling ever increasing volumes of data. Beyond the worldwide web and e-mail capabilities of such networks, applications and protocols are being developed to further add to the volume of traffic. Among these are voice related applications such as telephony or voice over IP, and video applications, such as video telephony, video conferencing, and the like. Unfortunately, even at current usage levels packet loss due to congestion is becoming problematic degrading the performance of data transfer.
Streams of packets typically enter the network from packet switching edge devices or gateways which serve as portals to the interconnected web of routers comprising the network. Typically these gateways are indiscriminant in their treatment of packet streams in that they merely port the packet streams onto the network without regard for congestion levels or likelihood of the packets reaching their final destination. Moreover, the networks typically are unaware of any, coherence or association among packet streams, and merely forward individual packets from router to router on a first-come-first-served basis, without regard to their relative priorities. These two limitations severely constrain the ability to provide quality-of-service guarantees for real-time services such as voice in IP-based networks.
Some attempts have been made to address portions of this problem. For example, packet prioritization schemes such as differentiated services or Diffserv distinguish packet streams among several classes. Protocols are also evolving which route higher priority packets more reliably, for example, by allocating certain bandwidth on links between routers for each class. Another partial solution that has been articulated is that of establishing explicit routing paths through the network between frequently traveled points. Multi-protocol label switching (MPLS) is a protocol which enables a label to be assigned to a packet stream which specifies a predetermined path through the network. This allows better monitoring and control of congestion over the paths taken by voice streams, for example. However, the problem introduced by the edge-devices not being aware of congestion levels within the interior of the network still remains. One strategy being pursued to tackle this limitation is to dedicate a certain amount of bandwidth for each MPLS path, on each network link that it traverses. This effectively creates a voice trunk between every pair of nodes, much akin to the telephone trunk routes currently employed between major call centers, and hence abandons the inherent flexibility afforded by the IP network. In particular, this strategy does not lead to a scalable solution. The number of trunks grows as the square of the number of nodes, and the consequent bandwidth fragmentation among hundreds or thousands of MPLS paths can exhaust the link capacities rather quickly. Furthermore, the servicing and provisioning of the multitude of voice trunks across the network are both cumbersome and slow to accommodate new nodes within the network.
The present invention contemplates a new and improved method and apparatus for voice-over-IP call management which overcomes the above-referenced problems and others associated with the existing approaches.